package http

import (
	"cyiris/core/protocol"

	"github.com/kataras/iris/v12"
	irisctx "github.com/kataras/iris/v12/context"
)

/**
 * 继承 iris Context，自定义的属性和方法注意和父类的关系
 */
type Context struct {
	iris.Context
}

func NewContext(ctx irisctx.Context) *Context {
	return &Context{ctx}
}

/**
 * 服务响应结构
 */
func (ctx *Context) Success(data interface{}) {
	response := protocol.Response{Code: protocol.STATUS_SUCCESS, Data: data}
	ctx.StatusCode(iris.StatusOK)
	ctx.JSON(response)
}

/**
 * 服务异常响应结构
 */
func (ctx *Context) Error(code int32, msg string) {
	response := protocol.Response{Code: code, Msg: msg}
	ctx.StatusCode(iris.StatusOK)
	ctx.JSON(response)
}
